Receive path in-phase and quadrature imbalance correction using circuit noise

ABSTRACT

Example operations may include determining a first noise estimate of noise that propagates along a receive path of a device. The operations may further include determining a second noise estimate of the noise and determining a cross-relationship estimate with respect to the noise. In addition, the operations may include adjusting one or more correction filters configured to correct for imbalances between a first branch and a second branch of the receive path. The adjusting may be based on the first noise estimate, the second noise estimate, and the cross-relationship estimate.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/317,137, filed May 11, 2021, titled RECEIVE PATH IN-PHASE ANDQUADRATURE IMBALANCE CORRECTION USING CIRCUIT NOISE, which claimspriority to Russian Patent Application No. 2020130229, filed Sep. 14,2020, titled RECEIVE PATH IN-PHASE AND QUADRATURE IMBALANCE CORRECTIONUSING CIRCUIT NOISE, all of which are incorporated herein by referencein their entireties.

FIELD

The implementations discussed in the present disclosure relate toreceive path in-phase and quadrature imbalance correction using circuitnoise.

BACKGROUND

Unless otherwise indicated in the present disclosure, the materialsdescribed in the present disclosure are not prior art to the claims inthe present application and are not admitted as being prior art byinclusion in this background section.

Quadrature-based signals are commonly used in signal processing andsignal communication (e.g., wireless communications) to transmit andcarry data. In many applications, a quadrature-based modulation schememay incorporate a first signal and a corresponding second signal thathas substantially the same frequency as the first signal but that isoffset from the first signal with a 90 degree phase shift.

The subject matter claimed in the present disclosure is not limited toimplementations that solve any disadvantages or that operate only inenvironments such as those described above. Rather, this background isonly provided to illustrate one example technology area where someimplementations described in the present disclosure may be practiced.

SUMMARY

Example operations may include determining a first noise estimate ofnoise that propagates along a receive path of a device. The operationsmay further include determining a second noise estimate of the noise anddetermining a cross-relationship estimate with respect to the noise. Inaddition, the operations may include adjusting one or more correctionfilters configured to correct for imbalances between a first branch anda second branch of the receive path. The adjusting may be based on thefirst noise estimate, the second noise estimate, and thecross-relationship estimate.

BRIEF DESCRIPTION OF THE DRAWINGS

Example implementations will be described and explained with additionalspecificity and detail using the accompanying drawings in which:

FIG. 1 illustrates a block diagram of selected components of an examplereceiver system configured to adjust for imbalances between branches ofa receive path;

FIG. 2A illustrates an example signal processing system configured toadjust for imbalances between branches of a receive path;

FIG. 2B illustrates another example signal processing system configuredto adjust for imbalances between branches of a receive path;

FIG. 3A illustrates another example signal processing system configuredto adjust for imbalances between branches of a receive path;

FIG. 3B illustrates another example signal processing system configuredto adjust for imbalances between branches of a receive path;

FIG. 4 is a flowchart of an example method of adjusting for imbalancesbetween branches of a receive path; and

FIG. 5 illustrates a block diagram of an example computing system thatmay be used to perform or direct performance of one or more operationsdescribed according to at least one implementation of the presentdisclosure.

DETAILED DESCRIPTION

Implementations described herein may generally include systems andmethods related to processing quadrature phase signals. Signals withsubstantially the same frequency but that have a phase differencebetween each other that is one-fourth or approximately one-fourth of theperiods of the signals (i.e., a phase difference of 90 degrees orapproximately 90 degrees) may be referred to herein as“quadrature-phase,” “quadrature-type,” quadrature-based,” or “quadraturesignals.” In many applications, a first quadrature signal may bereferred to as an in-phase (I) signal (“I-signal”) and a correspondingsecond quadrature signal with the 90-degree phase offset may be referredto as a quadrature-phase (Q) signal (“Q-signal”). In the presentdisclosure, general reference to the I and Q signals may include suchsignals in any applicable state, such as the I and Q signal componentsmodulated and combined onto a carrier signal, analog baseband I and Qsignals, or digital baseband I and Q signals.

In some signal processing, quadrature signals may be used to communicatedata. For example, the I-signal and the Q-signal may carry first dataand second data, respectively, and may be combined and modulated usingany suitable quadrature-based modulation scheme, such as QuadratureAmplitude Modulation (QAM), Quadrature Phase Shift Keying (QPSK), or thelike.

In wireless communication that utilizes quadrature signals, the combinedquadrature signal transmitted via a carrier signal may be received at areceive path of a receiver system of a device. The receive path mayinclude components that may pull the baseband I-signal and the basebandQ-signal from the received signal. The baseband I-signal may propagatealong an I-signal branch (“I branch”) of the receive path and thebaseband Q-signal may propagate along a separate Q-signal branch (“Qbranch”) of the receive path. In some instances, the components used toobtain the baseband I and Q signals from the received signal anddifferences between the I branch and the Q branch may create imbalancesbetween the I branch and the Q branch, which may create imbalancesbetween the baseband I and Q signals. For example, as detailed furtherbelow, a mixer configured to obtain the baseband I and Q signals mayhave a phase mismatch that may cause the baseband I and Q signals tohave imbalances. Further, the differences between the I and Q branchesmay cause propagation delays between the baseband I and Q signals, whichmay contribute to the imbalances between the baseband I and Q signals.Additionally or alternatively, the I and Q branches may have frequencydependent gain and/or phase mismatches, which may also contribute to theimbalances. The imbalances may degrade the signal quality.

In some implementations, digital circuitry of the receive path mayinclude one or more correction filters that may be configured to adjustthe baseband I and Q signals to help correct for the imbalances.Additionally or alternatively, the parameters of the correction filtersmay be set during a calibration of the associated chips prior todistribution of the associated chips for use. However, the imbalancesmay vary or change over time according to different operating conditionssuch as temperature, amount of use, etc. Therefore, the initialcalibration settings of the correction filter parameters may be suchthat imbalance correction may degrade during certain operatingconditions. Further, the calibration of the correction filters prior todistribution often uses a training signal generated by specialized labequipment via a somewhat time consuming process. Therefore, the initialcalibration may add an increased cost to the development anddistribution of associated chips.

According to one or more implementations of the present disclosure andas explained in detail below, run-time calibration of correction filtersmay be performed based on receiver circuit noise that propagates along areceive path of a device. The run-time calibration may accordinglyadjust the correction filters based on current operating conditions,which may improve the run-time performance of the correction filters.

These and other implementations of the present disclosure are explainedwith reference to the accompanying figures. It is to be understood thatthe figures are diagrammatic and schematic representations of suchexample implementations, and are not limiting, nor are they necessarilydrawn to scale. In the figures, features with like numbers indicate likestructure and function unless described otherwise.

FIG. 1 illustrates a block diagram of selected components of an examplereceiver system 100 (“system 100”) configured to adjust for imbalancesbetween branches of a receive path. The system 100 may be configuredaccording to one or more implementations of the present disclosure. Thesystem 100 may be included in any suitable device configured to performwireless communications and/or coupled to any suitable network. Forexample, the system 100 may be included in a device that may operate asan access point of a wireless network, which may include any suitablesystem or device that may establish the wireless network and/orcommunicatively couple the wireless network with another network. By wayof the example, the access point(s) may include a gateway, a repeater, amesh node, and/or other suitable access point that wirelessly couplesthe other devices of the wireless network to each other and/or toanother network (e.g., the Internet and/or a core network via a bridge,a backhaul link, a base station, and/or other suitable devices orconnections).

Additionally or alternatively, the device may operate as a node of thewireless network. For example, a node of the wireless network maygenerally include any device that has the capability to wirelesslyconnect to an access point of the wireless network according to anysuitable wireless standard of the wireless network (e.g., the 802.11standards, cellular communication standards, etc.). By way of example,the node(s) may include a desktop computer, a laptop computer, a tabletcomputer, a mobile phone, a smartphone, a personal digital assistant(PDA), a smart television, or any other suitable device.

The device may be configured to operate in any number of different typesof environments. For example, the environment or environments in whichthe device may be configured to operate may include, individually or anysuitable combination thereof, a home environment, an Internet of Things(IoT) environment, a vehicle environment, or any other suitableenvironment that may include or incorporate a wireless network tofacilitate the communication of data between devices.

The network to which the device may be communicatively coupled mayinclude any suitable network that may be established to communicate databetween devices. For example, the network may include a wireless localarea network (LAN) and/or a wireless telecommunications network. Forinstance, the network may include or be configured to include a cellularnetwork (e.g., 4G, 5G, LTE, network), a wireless fidelity network (e.g.,802.11 WI-FI® network), a BLUETOOTH® network, a Z-WAVE® network, anINSTEON® network, an ENOCEAN® network, a ZIGBEE® network, network, etc.In some implementations, the network may be communicatively coupled toor included in another network such as a wide area network (WAN) (e.g.,the Internet) and/or any other suitable interconnected data paths acrosswhich multiple devices may communicate.

The system 100 may include an antenna 106, a receive path 102, anddigital circuitry 104. The antenna 106 may be configured to receivewireless signals (e.g., modulated electromagnetic waves) and to convertthe received wireless signals into corresponding analog electricalsignals (referred to as “analog signals”), which may propagate along thereceive path 102.

In some implementations, the receive path 102 may include pre-mixercomponents 108 that may receive signals produced by the antenna 106. Thepre-mixer components 108 may include a band-pass filter and/or a lownoise amplifier in some implementations. For example, the band-passfilter may be configured to pass signal components and noise in the bandof interest associated with the received wireless signals (e.g., thecarrier frequency band) and remove out-of-band noise. The low-noiseamplifier (LNA) may be configured to amplify signals filtered by theband-pass filter. In some embodiments, the pre-mixer components 108 mayalso produce noise (e.g., thermal noise) that may propagate through thereceiver path 102.

The receive path 102 may include a mixer 110 configured to receive thefiltered and/or amplified signals and noise produced by the pre-mixercomponents 108. The mixer 110 may be configured to obtain the basebandI-signal from a corresponding analog signal by multiplying (e.g., via afirst multiplier 112 a) the analog signal by a first reference signalthat has substantially the same frequency as the carrier signal. Themixer 110 may also be configured to obtain the baseband Q-signal fromthe analog signal by multiplying (e.g., via a second multiplier 112 b)the analog signal by a second reference signal that is substantially thesame as the first reference signal but with a 90-degree offset.

The mixer 110 may also include an oscillator 114, which may include anysuitable device, system, or apparatus configured to produce the firstreference signal and the second reference signal. For example, theoscillator 114 may be configured to generate the first reference signalas represented by 2 cos (2πf_(c)t) in which f_(c) is the carrierfrequency. Further, the oscillator 114 may be configured to generate thesecond reference signal as represented by −2 sin (2πf_(c)t) such thatthe first reference signal and the second reference signal are offset by90 degrees. However, the oscillator 114 may be such that the phaseoffset between the first reference signal and the second referencesignal may not be exactly 90 degrees. This deviation from the 90 degreeoffset may be referred to as “phase mismatch” of the mixer 110 and maybe represented by “ϕ”, which represents the amount that the offset isoff from 90 degrees. For example, a phase mismatch in which ϕ equals “5”may be a result of the phase offset of the first reference signal andthe second reference signal being 95 degrees instead of 90 degrees. Thephase mismatch of the mixer 110 may contribute to the imbalances betweenthe baseband I and Q signals.

The receive path 102 may include a first branch 120 a and a secondbranch 120 b. The first branch 120 a may be configured for the basebandI-signal and the second branch 120 b may be configured for the basebandQ-signal. For example, the first branch 120 a may include the firstmultiplier 112 a and may receive signals output by the multiplier 112 a(e.g., the baseband I-signal). The second branch 120 b may include thesecond multiplier 112 b and may receive signals output by the multiplier112 b (e.g., the baseband Q-signal). In addition, first noise (e.g.,thermal noise) may be present within the first branch 120 a in which thefirst noise may be produced by one or more components of the receivepath 102. Similarly, second noise (e.g., thermal noise) may be presentwithin the second branch 120 b.

The first branch 120 a may include first branch components 114 a thatmay be configured to perform one or more operations. The operations ofthe first branch components 114 a may include filtering and/oramplifying of signals and/or noise that propagate along the first branch120 a. The second branch 120 b may similarly include second branchcomponents 114 b that may be configured to perform similar or analogousfiltering and/or amplifying operations.

The first branch 112 a and the second branch 112 b may have one or moredifferences that may cause imbalances between the baseband I-signals andthe baseband Q-signals. For example, the propagation paths of the firstbranch 112 a and 112 b may not be the exact same lengths. This may causea delay miss-match between the two branches. Further the two branchesmight not have exactly the same gain, which may create a gain imbalancebetween them. As another example, the operations performed by the firstbranch components 114 a may not be exactly the same as the operationsperformed by the second branch components 114 b. The differences betweenthe first branch 112 a and the second branch 112 b may be such that therespective transfer functions of the branches 112 may differ.

The difference in the transfer functions may be represented by a ratiobetween the respective transfer functions. For example, a first transferfunction of the first branch 120 a may be denoted as G1(ƒ) and a secondtransfer function of the second branch 120 b may be denoted as G2(ƒ).The branch imbalance between the first branch 120 a and the secondbranch 120 b (“

(f)”) may be represented by the following expression (1):

$\begin{matrix}{(f) = \frac{G2(f)}{G1(f)}} & (1)\end{matrix}$

The above expression is merely an example, for instance, the branchimbalance may alternatively be expressed by having the first transferfunction divided by the second transfer function. In a scenario with nobranch imbalance, the first transfer function and the second transferfunction would be equal such that

(f) would be equal to one. Therefore, the more that

(f) approaches zero or infinity (depending on which ratio is used) thegreater the branch imbalance.

The first branch 120 a may include a first analog to digital converter(ADC) 116 a and the second branch 120 b may include a second ADC 116 b.The first ADC 116 a may digitize the signals and first noise that areoutput by the first branch components 114 a and the second ADC 116 b maydigitize the signals and second noise that are output by the secondbranch components 114 b.

The digital circuitry 104 may be configured to process the digitalsignals (e.g. digital baseband I-signals) and/or digitized first noiseoutput by the first ADC 116 a. Additionally or alternatively, thedigital circuitry 104 may be configured to process the digital signals(e.g. digital baseband Q-signals) and/or digitized second noise outputby the second ADC 116 b.

Additionally or alternatively, the digital circuitry 104 may beconfigured to direct operations related to the reception and processingof the signals and noise. One or more elements of the digital circuitry104 may be hardware that is custom designed to perform one or more ofthe receiver operations. Additionally or alternatively, one or more ofthe elements of the digital circuitry 104 may include a computing systemthat is programmed to perform certain operations usingcomputer-executable instructions. One or more elements of the computingsystem 502 of FIG. 5 may be included in or part of the digital circuitry104 in some implementations.

As detailed below, the digital circuitry 104 may be configured todetermine a first noise estimate of the first noise and of the secondnoise of the first receive path 120 a and the second receive path 120 b,respectively. Further, the digital circuitry 104 may be configured todetermine a cross-relationship estimate with respect to the first noiseand the second noise. The digital circuitry 104 may also include one ormore correction filters configured to perform compensation operations tohelp compensate for the phase mismatch and/or branch imbalance. Thedigital circuitry 104 may be configured to adjust the one or morecorrection filters based on the first noise estimate, the second noiseestimate, and the cross-relationship estimate.

Modifications, additions, or omissions may be made to the system 100without departing from the scope of the present disclosure. For example,the system 100 may be configured to perform any number of otheroperations than those explicitly described.

FIG. 2A illustrates an example signal processing system 200 a (“system200 a”) configured to adjust for imbalances between branches of areceive path, according to one or more implementations of the presentdisclosure. The system 200 a may be part of digital circuitry of areceiver system. For example, the system 200 a may be included in thedigital circuitry 104 of FIG. 1 . Moreover, the system 200 a may beincluded in or implemented as a computing system, such as the computingsystem 502 described below with respect to FIG. 5 .

The system 200 a may include a Fourier transform module 202, a spectraldensity module 204, an adjustment module 206 a, and a correction filtermodule 208. One or more of the modules of FIG. 2A and of FIGS. 2B, 3A,and 3B discussed further below may include code and routines configuredto enable a computing system to perform one or more of the operationsdescribed therewith. Additionally or alternatively, one or more of themodules may be implemented using hardware including any number ofprocessors, microprocessors (e.g., to perform or control performance ofone or more operations), field-programmable gate arrays (FPGAs),application-specific integrated circuits (ASICs) or any suitablecombination of two or more thereof. Alternatively or additionally, oneor more of the modules may be implemented using a combination ofhardware and software. In the present disclosure, operations describedas being performed by a particular module may include operations thatthe particular module may direct a corresponding system (e.g., acorresponding computing system) to perform. Further, the delineatingbetween the different modules is to facilitate explanation of conceptsdescribed in the present disclosure and is not limiting. Further, one ormore of the modules may be configured to perform more, fewer, and/ordifferent operations than those described such that the modules may becombined or delineated differently than as described.

The Fourier transform module 202 (“FT module 202”) may be configured toperform a Fourier transform on received signals and/or noise. Forexample, the FT module 202 may be configured to receive first noise thatpropagates along a first branch of a receive path, such as the firstnoise that propagates along the first branch 120 a of FIG. 1 . Thedigitized first noise as received by the FT module 202 is represented inFIG. 2A by “z1(n)”, in which “n” is the time-domain sample of the firstnoise.

The FT module 202 may also be configured to perform a Fourier transform(e.g., a Fast Fourier Transform) on the first noise to represent thefirst noise in the frequency domain. The digitized first noise in thefrequency domain as output by the FT module 202 is represented in FIG.2A by “z1(k)”, in which “k” is the frequency-domain sample of the firstnoise.

The FT module 202 may be configured to similarly receive and perform theFourier transform with respect to second noise that propagates along asecond branch of the receive path, such as the second noise thatpropagates along the second branch 120 b of FIG. 1 . The digitizedsecond noise as received by the FT module 202 is represented in FIG. 2Aby “z2(n)”, in which “n” is the time-domain sample of the second noise.The digitized second noise in the frequency domain as output by the FTmodule 202 is represented in FIG. 2A by “z2(k)”, in which “k” is thefrequency-domain sample of the second noise.

The spectral density module 204 may be configured to determine, as afirst noise estimate of the first noise, a first spectral density of thefirst noise (“Ŝ_(z1)”) (e.g., using the first noise z1(k) output by theFT module 202). The spectral density module 204 may also be configuredto determine, as a second noise estimate of the second noise, a secondspectral density of the second noise (“Ŝ_(z2)”) (e.g., using the secondnoise z2(k) output by the FT module 202). Additionally, the spectraldensity module 204 may be configured to determine, as part ofdetermining a cross-relationship estimate between the first noise andthe second noise, a cross-spectral density between the first noise andthe second noise (“Ŝ_(z1z2)”) (e.g., using the first noise z1(k) and thesecond noise z2(k)).

In some implementations, the determined first spectral density, thedetermined second spectral density, and/or the determined cross-spectraldensity, may be estimates of the first spectral density, the secondspectral density, and/or the cross-spectral density, respectively. Insome implementations, the spectral density module 204 may be configuredto estimate the first spectral density, the second spectral density, andthe cross-spectral density using any suitable technique. For example,the spectral density module 204 may be configured to estimate the firstspectral density based on comparisons of the first noise at differenttimes (e.g., based on comparisons between different samples of the firstnoise obtained at different points in time) according to any suitabletechnique. The second spectral density may be similarly obtained. Forexample, the spectral density module 204 may be configured to estimatethe spectral density by first measuring the auto-correlation of thefirst and second noise samples and the cross-correlation of the firstand second noise samples for different lags and then perform Fouriertransform on the auto-correlation and cross-correlation functions tocalculate the spectral density. Further, the cross-spectral density maybe obtained based on different samples of the first noise and the secondnoise at different points in time according to any suitable technique.The number of samples used in estimating the different spectraldensities may be based on various implementation and design decisionssuch as accuracy and speed of estimating the spectral densities. Forexample, the fewer the samples used, the faster the estimates may bedetermined, but the accuracy may be reduced, and vice versa.

The adjustment module 206 a may be configured to determine a phasemismatch “{circumflex over (ϕ)}” based on the determined spectraldensities in some implementations. The determined phase mismatch“{circumflex over (ϕ)}” may be an estimate of the phase mismatch “ϕ”described above with respect to FIG. 1 .

By way of example, in some implementations, the adjustment module 206 amay be configured to determine the phase mismatch “{circumflex over(ϕ)}” based on the spectral densities “Ŝ_(z1)”, “Ŝ_(z2)”, and “Ŝ_(z1z2)”according to the following expression (2):

$\begin{matrix}{\hat{\phi} = {\arcsin\left( {\frac{1}{❘\mathcal{K}❘}{\sum}_{f_{k} \in \mathcal{K}}\frac{{\hat{S}}_{z_{1}z_{2}}\left( f_{k} \right)}{\sqrt{{{\hat{S}}_{z_{1}}\left( f_{k} \right)}{{\hat{S}}_{z_{2}}\left( f_{k} \right)}}}} \right)}} & (2)\end{matrix}$

In expression (2), “

” is a symmetric set of tones in the passband of the filters of thefirst and second branches that corresponds to the tones of the samplesused to determine the spectral densities. Additionally, in expression(2) “f_(k)” represents the individual tones of “

”. The set “

” is a design parameter and depending on the considered application itssize and placements of its tones may be adjusted to improve estimationthe phase mismatch.

In some implementations, the adjustment module 206 a may be configuredto determine a branch imbalance between the first branch and the secondbranch. The determined branch imbalance may include a frequencydependent branch imbalance and/or a frequency independent branchimbalance (also referred to as a DC branch imbalance).

In some implementations, the adjustment module 206 a may be configuredto determine an estimate of a frequency independent branch imbalance“{circumflex over (γ)}_(DC)” based on the determined first spectraldensity “Ŝ_(z1)” and the determined second spectral density “Ŝ_(z2)”.For example, the adjustment module 206 a may determine “{circumflex over(γ)}_(DC)” according to the following expression (3):

$\begin{matrix}{{\hat{\gamma}}_{DC} = {\frac{1}{❘\mathcal{K}❘}{\sum}_{f_{k} \in \mathcal{K}}\sqrt{\frac{{\hat{S}}_{z_{2}}\left( f_{k} \right)}{{\hat{S}}_{z_{1}}\left( f_{k} \right)}}}} & (3)\end{matrix}$

Additionally or alternatively, the adjustment module 206 a may also beconfigured to determine a frequency dependent branch imbalance“{circumflex over (Γ)}(f_(k))” based on the determined phase mismatch“{circumflex over (ϕ)}” and the determined cross-spectral density“Ŝ_(z1z2)”. Further, the adjustment module 206 a may be configured todetermine the frequency dependent branch imbalance “{circumflex over(Γ)}(f_(k))” based on the determined first spectral density “Ŝ_(z1)” orthe determined second spectral density “Ŝ_(z2)”. The determinedfrequency dependent branch imbalance “{circumflex over (Γ)}(f_(k))” maybe an estimate of the branch imbalance “

” described above with respect to FIG. 1 .

As another example, in some implementations, the adjustment module 206 amay be configured to determine the frequency dependent branch imbalance“{circumflex over (Γ)}(f_(k))” based on the determined phase mismatch“{circumflex over (ϕ)}” and the spectral densities “Ŝ_(z1)” and“Ŝ_(z1z2)” according to the following expression (4):

$\begin{matrix}{{\hat{\Gamma}\left( f_{k} \right)} = \frac{{\hat{S}}_{z_{1}z_{2}}^{*}\left( f_{k} \right)}{{{\hat{S}}_{z_{1}}\left( f_{k} \right)}{\sin\left( \hat{\phi} \right)}}} & (4)\end{matrix}$

As another example, the adjustment module 206 a may be configured todetermine the frequency dependent branch imbalance “{circumflex over(Γ)}(f_(k))” for each of the tones “f_(k)” based on the determined phasemismatch “{circumflex over (ϕ)}” and the spectral densities “Ŝ_(z2)” and“Ŝ_(z1z2)” according to the following expression (5):

$\begin{matrix}{{\hat{\Gamma}\left( f_{k} \right)} = \frac{{\sin\left( \hat{\phi} \right)}{{\hat{S}}_{z_{1}z_{2}}^{*}\left( f_{k} \right)}}{{\hat{S}}_{z_{2}}\left( f_{k} \right)}} & (5)\end{matrix}$

In expressions (4) and (5) “Ŝ*_(z) ₁ _(z) ₂ (f_(k))”, represents thecomplex conjugate of the cross-spectral density “Ŝ_(z1z2)”.

In some implementations, the adjustment module 206 a may also beconfigured to adjust the correction filter module 208 based on thedetermined phase mismatch “{circumflex over (ϕ)}” and the determinedbranch imbalances “{circumflex over (γ)}_(DC)” and “{circumflex over(Γ)}(f_(k))”. For example, the adjustment module 206 a may be configuredto adjust, using any suitable technique, one or more of correctionfilters of the correction filter module 208 such that the correctionfilter module 208 at least partially remove the determined phasemismatch “{circumflex over (ϕ)}” and the determined branch imbalances“{circumflex over (γ)}_(DC)” and/or “{circumflex over (Γ)}(f_(k))” fromsignals (e.g., I-signals and Q-signals) and/or noise received at thecorrection filter module 208.

For instance, the one or more correction filters may be configured asFinite Impulse Response (FIR) filters in some implementations andadjusting of the correction filter module 208 may include adjusting oneor more of the taps. The number of taps may vary depending on theimplementation in which more taps may provide more accurate correction.The adjusting of the taps based on the determined phase mismatch“{circumflex over (ϕ)}” and the determined branch imbalances“{circumflex over (γ)}_(DC)” and “{circumflex over (Γ)}(f_(k))” may beperformed according to any suitable technique.

The correction filter module 208 may include one or more correctionfilters that may be configured to receive signals and/or noise from thefirst branch and the second branch of the receive path. The one or morecorrection filters may be configured to perform one or more operationson the received signals and/or noise based on input received from theadjustment module 208 that may help correct for the phase mismatchand/or the branch imbalance.

FIG. 2B illustrates an example signal processing system 200 b (“system200 b”) that is a variation of the signal processing system 200 a inthat the system 200 b may be configured to adaptively adjust thecorrection filter module 208 based on a determined first spectraldensity “Ŝ_(x1)”, a determined second spectral density “Ŝ_(x2)”, and adetermined cross-spectral density “Ŝ_(x1x2)”. For example, in theadaptive configuration, the FT module 202 may be configured to receive afirst output “x1(n)” and a second output “x2(n)” that may be output bythe correction filter module 208. The first output “x1(n)” may be whatis left of the digitized first noise “z1(n)” after the correction filtermodule 208 applies filtering to “z1(n)”. Similarly, the second output“x2(n)” may be what is left of the digitized second noise “z2(n)” afterthe correction filter module 208 applies filtering to “z2(n)”. The FTmodule 202 may accordingly transform “x1(n)” and “x2(n)” into thefrequency domain as “x1(k)” and “x2(k)”. The spectral density module 204may receive “x1(k)” and “x2(k)” and may output the first spectraldensity “Ŝ_(x1)” of “x1(k)”, the second spectral density “Ŝ_(x2)” of“x2(k)”, and the cross-spectral density “Ŝ_(x1x2)” with respect to“x1(k)” and “x2(k)”.

Rather than determine the phase mismatch “{circumflex over (ϕ)}” and thebranch imbalances “{circumflex over (γ)}_(DC)” and “{circumflex over(Γ)}(f_(k))”, such as performed by the adjustment module 206 a of FIG.2A, an adjustment module 206 b of FIG. 2B may be configured toiteratively adjust the correction filter module 208 based on comparisonsbetween the determined first spectral density “Ŝ_(x1)” the determinedsecond spectral density “Ŝ_(x2)”, and the determined cross-spectraldensity “Ŝ_(x1x2)”.

For instance, during a first adjustment iteration, the adjustment module206 b may determine a first difference between the determined firstspectral density “Ŝ_(x1)” and the determined second spectral density“Ŝ_(x2)”. In a scenario in which there is little or no branch imbalanceand/or phase mismatch, the determined first spectral density “Ŝ_(x1)”and the determined second spectral density “Ŝ_(x2)” may be the same orvery close to the same such that the difference between the two would beat or very near zero. Therefore, using any suitable adjustmenttechnique, the adjustment module 206 b may adjust the filter module 208to attempt to reduce the difference between the determined firstspectral density “Ŝ_(x1)” and the determined second spectral density“Ŝ_(x2)”.

Additionally, during the first adjustment iteration, the adjustmentmodule 206 b may analyze the determined cross-spectral density“Ŝ_(x1x2)”. In a scenario in which there is little or no branchimbalance and/or phase mismatch, the determined cross-spectral density“Ŝ_(x1x2)” may also be at or near zero. Therefore, using any suitableadjustment technique, the adjustment module 206 b may adjust the filtermodule 208 to attempt to move the determined cross-spectral density“Ŝ_(x1x2)” toward zero.

During a second adjustment iteration that follows the first iteration,the adjustment module 206 b may determine a second difference betweenthe determined first spectral density “Ŝ_(x1)” and the determined secondspectral density “Ŝ_(x2)”. The adjustment module 206 b may compare thefirst difference against the second difference to determine whether thesecond difference is larger or smaller than the first difference todetermine whether the first adjustment iteration improved or worsenedthe imbalance and/or phase mismatch. Using any suitable technique, theadjustment module 206 b may be configured to make one or moreadjustments to the correction filter 208 based on whether the seconddifference is larger or smaller than the first difference.

The iterative adjustment in some implementations may be based oncalculating a gradient function that provides the direction of thecorrection filters adjustment to simultaneously drive the differencebetween “Ŝ_(x1)” and “Ŝ_(x2)” and the magnitude of “Ŝ_(x1x2)” towardzero.

In these or other implementations, the adjustment module 206 b maycompare the determined cross-spectral density “Ŝ_(x1x2)” obtained withrespect to the first adjustment iteration against the determinedcross-spectral density “Ŝ_(x1x2)” obtained with respect to the secondadjustment iteration. Based on a comparison between the two determinedcross-spectral densities “Ŝ_(x1x2)”, the adjustment module 206 b maydetermine whether the first adjustment iteration moved the determinedcross-spectral density “Ŝ_(x1x2)” closer to or further from zero. Usingany suitable technique, the adjustment module 206 b may be configured tomake one or more adjustments to the correction filter 208 based onwhether the determined cross-spectral density “Ŝ_(x1x2)” closer to orfurther from zero. In these or other implementations, the adjustmentmodule 206 b may be configured to continue to make additional iterativeadjustments until the determined cross-spectral density “Ŝ_(x1x2)”satisfies a first particular threshold and/or until the differencebetween the determined first spectral density “Ŝ_(x1)” and thedetermined second spectral density “Ŝ_(x2)” satisfies a secondparticular threshold. The first particular threshold and the secondparticular threshold may be the same or different. Further, the firstparticular threshold and the second particular threshold may varydepending on tolerances associated with different implementations.

The systems 200 a and 200 b may accordingly be configured to use noiseto calibrate correction filters such that imbalances between I-signalsand corresponding Q-signals may be reduced. Modifications, additions, oromissions may be made to the systems 200 a and 200 b without departingfrom the scope of the present disclosure. For example, the delineatingbetween the modules is to facilitate explanation of concepts describedin the present disclosure and is not limiting. Further, one or more ofthe modules may be configured to perform more, fewer, and/or differentoperations than those described.

FIG. 3A illustrates an example signal processing system 300 a (“system300 a”) configured to adjust for imbalances between branches of areceive path, according to one or more implementations of the presentdisclosure. The system 300 a may be part of digital circuitry of areceiver system. For example, the system 300 a may be included in thedigital circuitry 104 of FIG. 1 . Moreover, the system 300 a may beincluded in or implemented as a computing system, such as the computingsystem 502 described below with respect to FIG. 5 . The system 300 a mayinclude a correlation module 304, an adjustment module 306 a, and acorrection filter module 308.

The correlation module 304 may be configured to receive first noise thatpropagates along a first branch of a receive path, such as the firstnoise that propagates along the first branch 120 a of FIG. 1 . Thecorrelation module 304 may also be configured to receive second noisethat propagates along a second branch of the receive path, such as thesecond noise that propagates along the second branch 102 b of FIG. 1 .The digitized first noise as received by the correlation module 304 isrepresented in FIG. 3A by “z1(n)”, and the digitized second noise asreceived by the correlation module 304 is represented in FIG. 3A by“z2(n)” in which “n” is the time-domain sample of the first noise.

The correlation module 304 may be configured to determine, as a firstnoise estimate of the first noise, a first autocorrelation of the firstnoise (“{circumflex over (R)}_(z1)”) (e.g., using the first noisez1(n)). The correlation module 304 may also be configured to determine,as a second noise estimate of the second noise, a second autocorrelationof the second noise (“{circumflex over (R)}_(z2)”) (e.g., using thesecond noise z2(n)). Additionally, the correlation module 304 may beconfigured to determine, as part of determining a cross-relationshipestimate between the first noise and the second noise, across-correlation between the first noise and the second noise(“{circumflex over (R)}_(z1z2)”) (e.g., using the first noise z1(n) andthe second noise z2(n)).

In some implementations, the determined first autocorrelation, thedetermined second autocorrelation, and/or the determinedcross-correlation, may be estimates of the first autocorrelation, thesecond autocorrelation, and/or the cross-correlation, respectively. Insome implementations, the correlation module 304 may be configured toestimate the first autocorrelation, the second autocorrelation, and thecross-correlation using any suitable technique. For example, thecorrelation module 204 may be configured to estimate the firstautocorrelation based on comparisons of the first noise at differenttimes (e.g., based on comparisons between different samples of the firstnoise obtained at different points in time) according to any suitabletechnique. The second autocorrelation may be similarly obtained.Further, the cross-correlation may be obtained based on differentsamples of the first noise and the second noise at different points intime according to any suitable technique. The number of samples used inestimating the different correlations may be based on variousimplementation and design decisions such as accuracy and speed ofestimating the correlations.

In some implementations, the adjustment module 306 a may be configuredto determine a phase mismatch “{circumflex over (ϕ)}” based on thedetermined correlations. The determined phase mismatch “{circumflex over(ϕ)}” may be an estimate of the phase mismatch “ϕ” described above withrespect to FIG. 1 .

By way of example, in some implementations, the adjustment module 306 amay be configured to determine the phase mismatch “{circumflex over(ϕ)}” based on the correlations “{circumflex over (R)}_(z1)”,“{circumflex over (R)}_(z2)”, and “{circumflex over (R)}_(z1z2)”according to the following expression (6):

$\begin{matrix}{\hat{\phi} = {\arcsin\left( \frac{R_{z_{1}z_{2}}(0)}{\sqrt{{R_{z_{1}}(0)}{R_{z_{2}}(0)}}} \right)}} & (6)\end{matrix}$

In some implementations, the adjustment module 306 a may be configuredto determine a branch imbalance between the first branch and the secondbranch. The determined branch imbalance may include a frequencydependent branch imbalance and/or a frequency independent branchimbalance (also referred to as a DC branch imbalance).

In some implementations, the adjustment module 306 a may be configuredto determine an estimate of a frequency independent branch imbalance“{circumflex over (γ)}_(DC)” based on the determined firstautocorrelation “{circumflex over (R)}_(z1)” and the determined secondautocorrelation “{circumflex over (R)}_(z2)”. For example, theadjustment module 306 a may determine “{circumflex over (γ)}_(DC)”according to the following expression (7):

$\begin{matrix}{{\hat{\gamma}}_{DC} = \sqrt{\frac{{\hat{R}}_{z_{2}}\left( f_{k} \right)}{{\hat{R}}_{z_{1}}\left( f_{k} \right)}}} & (7)\end{matrix}$

The adjustment module 306 a may also be configured to determine afrequency dependent branch imbalance “{circumflex over (Γ)}(f_(k))”based on the determined phase mismatch “{circumflex over (ϕ)}” and adetermined cross-spectral density “Ŝ_(z1z2)”. Further, the adjustmentmodule 306 a may be configured to determine the frequency dependentbranch imbalance “{circumflex over (Γ)}(f_(k))” based on a determinedfirst spectral density “Ŝ_(z1)” or a determined second spectral density“Ŝ_(z2)”. The determined frequency dependent branch imbalance“{circumflex over (Γ)}(f_(k))” may be an estimate of the branchimbalance “

” described above with respect to FIG. 1 . The adjustment module 306 amay be configured to determine the frequency dependent branch imbalance“{circumflex over (Γ)}(f_(k))” according to expression (4) or expression(5) as discussed above with respect to FIG. 2A in some implementations.The adjustment module 306 a may be configured to adjust the correctionfilter module 308 based on the determined branch imbalances “{circumflexover (γ)}_(DC)” and “{circumflex over (Γ)}(f_(k))” and the determinedphase mismatch “{circumflex over (ϕ)}” such as described above withrespect to the adjustment module 206 a adjusting the filter module 208of FIG. 2A.

The adjustment module 306 a may be configured to determine thecross-spectral density “Ŝ_(z1z2)” by performing a Fourier transform onthe determined cross-correlation “{circumflex over (R)}_(z1z2)”. Theadjustment module 306 a may also be configured to determine the firstspectral density “Ŝ_(z1)” by performing a Fourier transform on thedetermined first autocorrelation “{circumflex over (R)}_(z1)” and theadjustment module 306 a may be configured to determine the secondspectral density “Ŝ_(z2)” by performing a Fourier transform on thedetermined second autocorrelation “{circumflex over (R)}_(z2)”.

The correction filter module 308 may be analogous to the correctionfilter module 208 of FIGS. 2A and 2B and may include and adjust one ormore correction filters that may be configured to perform one or moreoperations on the received signals and/or noise based on the determinedphase mismatch “{circumflex over (ϕ)}” and the determined branchimbalances “{circumflex over (γ)}_(DC)” and “{circumflex over(Γ)}(f_(k))”.

FIG. 3B illustrates an example signal processing system 300 b (“system300 b”) that is a variation of the signal processing system 300 a inthat the system 300 b may be configured to adaptively adjust thecorrection filter module 308 based on a determined first autocorrelation“{circumflex over (R)}_(x1)”, a determined second autocorrelation“{circumflex over (R)}_(x2)”, and a determined cross-correlation“{circumflex over (R)}_(x1x2)”. For example, in the adaptiveconfiguration, the correlation module 304 may be configured to receive afirst output “x1(n)” and a second output “x2(n)” that may be output bythe correction filter module 308. The first output “x1(n)” may be whatis left of the digitized first noise “z1(n)” after the correction filtermodule 308 applies filtering to “z1(n)”. Similarly, the second output“x2(n)” may be what is left of the digitized second noise “z2(n)” afterthe correction filter module 308 applies filtering to “z2(n)”. Thecorrelation module 304 may receive “x1(n)” and “x2(n)” and may outputthe first autocorrelation {circumflex over (R)}_(x1) of “x1(n)”, thesecond autocorrelation “{circumflex over (R)}_(x2)” of “x2(n)”, and thecross-correlation “{circumflex over (R)}_(x1x2)” with respect to “x1(n)”and “x2(n)”.

In some implementations, an adjustment module 306 b may be configured toadaptively adjust the correction filter module 308 via an iterativeprocess using the determined first autocorrelation “{circumflex over(R)}_(z1)”, the determined second autocorrelation “{circumflex over(R)}_(z2)”, and the determined cross-correlation correlation“{circumflex over (R)}_(z1z2)”. The adaptive adjustment may be analogousto that described above with respect to the adjustment module 206 b ofFIG. 2B.

The systems 300 a and 300 b may accordingly be configured to use noiseto calibrate correction filters such that imbalances between I-signalsand corresponding Q-signals may be reduced. Modifications, additions, oromissions may be made to the systems 300 a and 300 b without departingfrom the scope of the present disclosure.

FIG. 4 is a flowchart of an example method 400 of adjusting forimbalances between branches of a receive path, according to at least oneimplementation described in the present disclosure. The method 400 maybe performed by any suitable system, apparatus, or device. For example,one or more operations of the method 400 may be performed by one or moreof the devices of FIG. 1 , by the system 200 a of FIG. 2A, by the system200 b of FIG. 2B, by the system 300 a of FIG. 3A, and/or by the system300 b of FIG. 3B. Additionally or alternatively, one or more of theoperations may be performed or directed for performance by a computingsystem, such as the computing system 502 of FIG. 5 . Althoughillustrated with discrete blocks, the steps and operations associatedwith one or more of the blocks of the method 400 may be divided intoadditional blocks, combined into fewer blocks, or eliminated, dependingon the particular implementation.

At block 402, a first noise estimate of noise that propagates along areceive path of a device may be determined. The noise may include firstnoise that propagates along a first branch of the receive path andsecond noise that propagates along a second branch of the receive path,such as described above. In some implementations, the first noiseestimate may be of the first noise and may be determined according toany of the techniques described above.

At block 404, a second noise estimate of the noise may be determined. Insome implementations, the second noise estimate may be of the secondnoise and may be determined according to one or more of the techniquesdescribed above.

At block 406, a cross-relationship estimate with respect to the noisemay be determined. For example, in some implementations, thecross-relationship estimate may be determined with respect to the firstnoise and the second noise according to one or more of the techniquesdescribed above.

At block 408, one or more correction filters configured to correct forimbalances associated with the first branch and the second branch of thereceive path may be adjusted. The adjustment may be based on the firstnoise estimate, the second noise estimate, and the cross-relationshipestimate according to one or more of the techniques described above insome implementations.

Modifications may be made to the method 400 without departing from thescope of the present disclosure. For example, in some implementations,some of the operations of the method 400 may be in a different orderthan described. Further, additional operations may be included in themethod 400 or one or more operations may be omitted.

FIG. 5 illustrates a block diagram of an example computing system 502that may be used to perform or direct performance of one or moreoperations described according to at least one implementation of thepresent disclosure. The computing system 502 may be included in thedigital circuitry 104 of FIG. 1 , the system 200 a of FIG. 2A, thesystem 200 b of FIG. 2B, the system 300 a of FIG. 3A, and/or the system300 b of FIG. 3B in some implementations. Additionally or alternatively,the computing system 502 may include the one or more of the modules ofFIGS. 2A, 2B, 3A, and 3B, respectively and/or one or more of the modulesof FIGS. 2 and 3 may be configured as the computing system 502. Thecomputing system 502 may include a processor 550, a memory 552, and adata storage 554. The processor 550, the memory 552, and the datastorage 554 may be communicatively coupled.

In general, the processor 550 may include any suitable special-purposeor general-purpose computer, computing entity, or processing deviceincluding various computer hardware or software modules and may beconfigured to execute instructions stored on any applicablecomputer-readable storage media. For example, the processor 550 mayinclude a microprocessor, a microcontroller, a digital signal processor(DSP), an application-specific integrated circuit (ASIC), aField-Programmable Gate Array (FPGA), or any other digital or analogcircuitry configured to interpret and/or to execute computer-executableinstructions and/or to process data. Although illustrated as a singleprocessor in FIG. 5 , the processor 550 may include any number ofprocessors configured to, individually or collectively, perform ordirect performance of any number of operations described in the presentdisclosure.

In some implementations, the processor 550 may be configured tointerpret and/or execute computer-executable instructions and/or processdata stored in the memory 552, the data storage 554, or the memory 552and the data storage 554. In some implementations, the processor 550 mayfetch computer-executable instructions from the data storage 554 andload the computer-executable instructions in the memory 552. After thecomputer-executable instructions are loaded into memory 552, theprocessor 550 may execute the computer-executable instructions.

The memory 552 and the data storage 554 may include computer-readablestorage media for carrying or having computer-executable instructions ordata structures stored thereon. Such computer-readable storage media mayinclude any available media that may be accessed by a general-purpose orspecial-purpose computer, such as the processor 550. By way of example,and not limitation, such computer-readable storage media may includetangible or non-transitory computer-readable storage media includingRandom Access Memory (RAM), Read-Only Memory (ROM), ElectricallyErasable Programmable Read-Only Memory (EEPROM), Compact Disc Read-OnlyMemory (CD-ROM) or other optical disk storage, magnetic disk storage orother magnetic storage devices, flash memory devices (e.g., solid statememory devices), or any other storage medium which may be used to carryor store particular program code in the form of computer-executableinstructions or data structures and which may be accessed by ageneral-purpose or special-purpose computer. Combinations of the abovemay also be included within the scope of computer-readable storagemedia. Computer-executable instructions may include, for example,instructions and data configured to cause the processor 550 to perform acertain operation or group of operations.

Modifications may be made to the computing system 502 without departingfrom the scope of the present disclosure. For example, in someimplementations, the computing system 502 may include any number ofother components that may not be explicitly illustrated or described.Additionally or alternatively, the computing system 502 may includefewer components. For example, the computing system 502 may omit thememory 552 and/or the data storage 554 in some implementations.

The subject technology of the present invention is illustrated, forexample, according to various aspects described below. Various examplesof aspects of the subject technology are described as numbered examples(1, 2, 3, etc.) for convenience. These are provided as examples and donot limit the subject technology. The aspects of the variousimplementations described herein may be omitted, substituted for aspectsof other implementations, or combined with aspects of otherimplementations unless context dictates otherwise. For example, one ormore aspects of example 1 below may be omitted, substituted for one ormore aspects of another example (e.g., example 2) or examples, orcombined with aspects of another example. The following is anon-limiting summary of some example implementations presented herein.

An example method may include determining a first noise estimate offirst noise that propagates along a first branch of a receive path of adevice; determining a second noise estimate of second noise thatpropagates along a second branch of the receive path; determining across-relationship estimate between the first noise and the secondnoise; and adjusting, based on the first noise estimate, the secondnoise estimate, and the cross-relationship estimate, one or morecorrection filters configured to correct for imbalances associated withthe first branch and the second branch of the receive path.

An example system may include hardware configured to perform operationsincluding: determining a first noise estimate of noise that propagatesalong a receive path of a device; determining a second noise estimate ofthe noise; determining a cross-relationship estimate with respect to thenoise; and adjusting, based on the first noise estimate, the secondnoise estimate, and the cross-relationship estimate, one or morecorrection filters configured to correct for imbalances between a firstbranch and a second branch of the receive path.

Another example may include one or more non-transitory computer-readablestorage media having instructions stored thereon that, in response tobeing executed by one or more processors, cause a system to performoperations including: determining a first noise estimate of noise thatpropagates along a receive path of a device; determining a second noiseestimate of the noise; determining a cross-relationship estimate withrespect to the noise; determining a phase mismatch of a mixer of thereceive path based on the first noise estimate, the second noiseestimate, and the cross-relationship estimate; determining a branchimbalance (e.g., frequency independent and/or frequency dependent)between a first branch and a second branch of the receive path based onthe determined phase mismatch; and adjusting, based on the determinedphase mismatch and the determined branch imbalance, one or morecorrection filters configured to correct for imbalances between thefirst branch and the second branch.

Some portions of the detailed description are presented in terms ofalgorithms and symbolic representations of operations within a computer.These algorithmic descriptions and symbolic representations are themeans used by those skilled in the data processing arts to convey theessence of their innovations to others skilled in the art. An algorithmis a series of configured operations leading to a desired end state orresult. In example implementations, the operations carried out requirephysical manipulations of tangible quantities for achieving a tangibleresult.

Unless specifically stated otherwise, as apparent from the discussion,it is appreciated that throughout the description, discussions utilizingterms such as detecting, determining, analyzing, identifying, scanningor the like, can include the actions and processes of a computer systemor other information processing device that manipulates and transformsdata represented as physical (electronic) quantities within the computersystem's registers and memories into other data similarly represented asphysical quantities within the computer system's memories or registersor other information storage, transmission or display devices.

Example implementations may also relate to an apparatus for performingthe operations herein. This apparatus may be specially constructed forthe required purposes, or it may include one or more general-purposecomputers selectively activated or reconfigured by one or more computerprograms. Such computer programs may be stored in a computer readablemedium, such as a computer-readable storage medium or acomputer-readable signal medium. Computer-executable instructions mayinclude, for example, instructions and data which cause ageneral-purpose computer, special-purpose computer, or special-purposeprocessing device (e.g., one or more processors) to perform or controlperformance of a certain function or group of functions.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter configured in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

An example apparatus can include a Wireless Access Point (WAP) or astation and incorporating a VLSI processor and program code to support.An example transceiver couples via an integral modem to one of a cable,fiber or digital subscriber backbone connection to the Internet tosupport wireless communications, e.g. IEEE 802.11 compliantcommunications, on a Wireless Local Area Network (WLAN). The WiFi stageincludes a baseband stage, and the analog front end (AFE) and RadioFrequency (RF) stages. In the baseband portion wireless communicationstransmitted to or received from each user/client/station are processed.The AFE and RF portion handles the upconversion on each of transmitpaths of wireless transmissions initiated in the baseband. The RFportion also handles the downconversion of the signals received on thereceive paths and passes them for further processing to the baseband.

An example apparatus can be a multiple-input multiple-output (MIMO)apparatus supporting as many as N×N discrete communication streams overN antennas. In an example the MIMO apparatus signal processing units canbe implemented as N×N. In various implementations, the value of N can be4, 6, 8, 12, 16, etc. Extended MIMO operation enables the use of up to2N antennae in communication with another similarly equipped wirelesssystem. It should be noted that extended MIMO systems can communicatewith other wireless systems even if the systems do not have the samenumber of antennae, but some of the antennae of one of the stationsmight not be utilized, reducing optimal performance.

Channel State Information (CSI) from any of the devices described hereincan be extracted independent of changes related to channel stateparameters and used for spatial diagnosis services of the network suchas motion detection, proximity detection, and localization which can beutilized in, for example, WLAN diagnosis, home security, health caremonitoring, smart home utility control, elder care, automotive trackingand monitoring, home or mobile entertainment, automotive infotainment,and the like.

Unless specific arrangements described herein are mutually exclusivewith one another, the various implementations described herein can becombined in whole or in part to enhance system functionality and/or toproduce complementary functions. Likewise, aspects of theimplementations may be implemented in standalone arrangements. Thus, theabove description has been given by way of example only and modificationin detail may be made within the scope of the present invention.

With respect to the use of substantially any plural or singular termsherein, translating from the plural to the singular or from the singularto the plural may be performed as is appropriate to the context orapplication. The various singular/plural permutations may be expresslyset forth herein for sake of clarity. A reference to an element in thesingular is not intended to mean “one and only one” unless specificallystated, but rather “one or more.” Moreover, nothing disclosed herein isintended to be dedicated to the public regardless of whether suchdisclosure is explicitly recited in the above description.

In general, terms used herein, and especially in the appended claims(e.g., bodies of the appended claims) are generally intended as “open”terms (e.g., the term “including” should be interpreted as “includingbut not limited to,” the term “having” should be interpreted as “havingat least,” the term “includes” should be interpreted as “includes but isnot limited to,” etc.). Furthermore, in those instances where aconvention analogous to “at least one of A, B, or C, etc.” or “at leastone of A, B, and C, etc.” is used such a construction is intended togenerally have a disjunctive interpretation (e.g., “a system having atleast one of A, B, or C” or “a system having at least one of A, B, andC” would include but not be limited to systems that include A alone, Balone, C alone, A and B together, A and C together, B and C together, orA, B, and C together, etc.). Also, a phrase presenting two or morealternative terms, whether in the description, claims, or drawings,should be understood to include one of the terms, either of the terms,or both terms. For example, the phrase “A or B” will be understood toinclude the possibilities of “A” or “B” or “A and B.” Thisinterpretation of the phrase “A or B” is still applicable even thoughthe term “A and/or B” may be used at times to include the possibilitiesof “A” or “B” or “A and B.”

Additionally, the use of the terms “first,” “second,” “third,” etc., arenot necessarily used herein to connote a specific order or number ofelements. Generally, the terms “first,” “second,” “third,” etc., areused to distinguish between different elements as generic identifiers.Absence a showing that the terms “first,” “second,” “third,” etc.,connote a specific order, these terms should not be understood toconnote a specific order. Furthermore, absence a showing that the termsfirst,” “second,” “third,” etc., connote a specific number of elements,these terms should not be understood to connote a specific number ofelements.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedimplementations are to be considered in all respects only asillustrative and not restrictive. The scope of the invention is,therefore, indicated by the appended claims rather than by the foregoingdescription. All changes which come within the meaning and range ofequivalency of the claims are to be embraced within their scope.

1. A method comprising: determining a first noise estimate of firstnoise that propagates along a first branch of a receive path of adevice; determining a second noise estimate of second noise thatpropagates along a second branch of the receive path; determining across-relationship estimate between the first noise and the secondnoise; and adjusting one or more correction filters configured tocorrect for imbalances associated with the first branch and the secondbranch of the receive path, the adjusting being based on the first noiseestimate, the second noise estimate, and the cross-relationshipestimate.